package com.exchange.redis.services;

import java.util.LinkedHashSet;
import java.util.Set;

public interface  RedisService {
    /**
     * set存数据
     * @param key
     * @param value
     * @return
     */
    boolean set(String key,String value);

    /**
     * get获取数据
     * @param key
     * @return
     */
    String get(String key);

    /**
     * 设置有效天数
     * @param key
     * @param expire
     * @return
     */
    boolean expire(String key, long expire);

    /**
     * 移除数据
     * @param key
     * @return
     */
    boolean remove(String key);

    /**
     * redis zset增加数据
     * @param key
     * @param socre
     * @param value
     * @return
     */
    boolean zAdd(String key, Double socre, String value);

    /**
     * redis zset删除数据
     * @param key
     * @param socre
     * @param value
     * @return
     */
    boolean zRem(String key, Double socre, String value);

    /**
     * redis zset分页查询数据
     * @param key
     * @param min
     * @param max
     * @param offset
     * @param count
     * @return
     */
    LinkedHashSet<String> zRange(String key, double min, double max, long offset, long count);

    /**
     * 查询redis zset类型对象长度
     * @param key
     * @return
     */
    Long zCount(String key);
}
